package com.cochain.ftp;


import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @title: FtpProperties
 * @Description: 单ftp配置
 * @Author Lmm
 * @Date: 2024/3/28 14:09
 * @Version 1.0
 */
@Data
//@ConfigurationProperties(prefix = FtpProperties.PREFIX)  // 不一定需要依赖spring，这个注解可要可不要，大家根据实际需求来
public class FtpProperties {
//    public static final String PREFIX = "code.love.ftp";

    /**
     * Ip
     */
    private String host;

    /**
     * 端口
     */
    private Integer port;

    /**
     * 账号
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 访问前缀
     */
    private String urlPrefix;
    /**
     * 是否被动模式
     * 主动模式
     * 被动模式
     */
    private boolean passiveMode;
    /**
     * 编码格式
     */
    private String encoding = "UTF-8";
    /**
     * 连接超时时间
     */
    private int connectTimeout = 10 * 1000;
    /**
     * 缓存
     * 8m
     */
    private int bufferSize = 8 * 1024;
    /**
     *
     */
    private boolean useEPSVwithIPv4;
    /**
     *
     */
    private boolean remoteVerificationEnabled = true;

    /**
     * 连接池最大连接数
     */
    private int maxClientLimit = 8;

    private int controlKeepAliveTimeout = 3;
    /**
     * 设置ftp相关的配置
     * todo   大家代码拉下来就可以测试
     * */
    public static FtpProperties getFtpPropertiesA() {
        FtpProperties ftpProperties = new FtpProperties();
        // todo 配置自己的ftp相关配置
        ftpProperties.setHost("192.168.1.137");
        ftpProperties.setPort(21);
        ftpProperties.setUsername("root");
        ftpProperties.setPassword("cochain#123");

        return ftpProperties;
    }

    /**
     * 设置ftp相关的配置
     * todo   大家代码拉下来就可以测试
     * */
    public static FtpProperties getFtpPropertiesB() {
        FtpProperties ftpProperties = new FtpProperties();
        // todo 配置自己的ftp相关配置
        ftpProperties.setHost("192.168.1.137");
        ftpProperties.setPort(22);
        ftpProperties.setUsername("root");
        ftpProperties.setPassword("cochain#123");

        return ftpProperties;
    }

}
